// ******************************************************************************
// Copyright     :  Copyright (C) 2020, Hisilicon Technologies Co. Ltd.
// File name     :  ring_cnb_reg_offset.h
// Project line  :
// Department    :
// Author        :  xxx
// Version       :  1.0
// Date          :
// Description   :  xxx
// Others        :  Generated automatically by nManager V5.1
// History       :  xxx 2020/10/23 11:46:44 Create file
// ******************************************************************************

#ifndef RING_CNB_REG_OFFSET_H
#define RING_CNB_REG_OFFSET_H

/* ring_cnb_csr Base address of Module's Register */
#define CSR_RING_CNB_CSR_BASE (0x3F00)

/* **************************************************************************** */
/*                      ring_cnb_csr Registers' Definitions                            */
/* **************************************************************************** */

#define CSR_RING_CNB_CSR_CNB_VERSION_REG (CSR_RING_CNB_CSR_BASE + 0x0) /* Version Log register */
#define CSR_RING_CNB_CSR_CNB_TMOUT_CNT_THD_REG \
    (CSR_RING_CNB_CSR_BASE + 0x4) /* CNB timeout counter overflow threshold */
#define CSR_RING_CNB_CSR_CNB_EMPTY_ADDR_REG \
    (CSR_RING_CNB_CSR_BASE + 0x8) /* record the read error or write error API address */
#define CSR_RING_CNB_CSR_CNB_API_ERR_FLIT_CNT_REG (CSR_RING_CNB_CSR_BASE + 0xC)  /* error flit counter */
#define CSR_RING_CNB_CSR_CNB_API_CRT_MSGE_CNT_REG (CSR_RING_CNB_CSR_BASE + 0x10) /* API correct message counter */
#define CSR_RING_CNB_CSR_CNB_API_TX_MSGE_CNT_REG \
    (CSR_RING_CNB_CSR_BASE + 0x14) /* message counter for API transmit from CNB */
#define CSR_RING_CNB_CSR_CNB_INT_VECTOR_REG (CSR_RING_CNB_CSR_BASE + 0x18)      /* interrupt vector */
#define CSR_RING_CNB_CSR_CNB_INT_REG (CSR_RING_CNB_CSR_BASE + 0x1C)             /* interrupt data */
#define CSR_RING_CNB_CSR_CNB_INT_MASK_REG (CSR_RING_CNB_CSR_BASE + 0x20)        /* interrupt mask */
#define CSR_RING_CNB_CSR_CNB_API_OP_CODE_ERR_REG (CSR_RING_CNB_CSR_BASE + 0x24) /* illegal op_code error */
#define CSR_RING_CNB_CSR_CNB_CSR_CMD_PARITY_ERR_REG \
    (CSR_RING_CNB_CSR_BASE + 0x28) /* parity check error when the command is arrived at its destination CSR */
#define CSR_RING_CNB_CSR_CNB_CSR_WR_ERR_REG \
    (CSR_RING_CNB_CSR_BASE + 0x2C) /* csr write error: the write address is empty or the data size is mismatch */
#define CSR_RING_CNB_CSR_CNB_CSR_RDDAT_PARITY_ERR_REG \
    (CSR_RING_CNB_CSR_BASE + 0x30) /* read back data/op_info error: the read back data or op_info has parity error */
#define CSR_RING_CNB_CSR_CNB_CSR_RD_ERR_REG \
    (CSR_RING_CNB_CSR_BASE + 0x34) /* csr read error: the read address is empty or the data size is mismatch */
#define CSR_RING_CNB_CSR_CNB_MERR_REG \
    (CSR_RING_CNB_CSR_BASE + 0x38) /* MERR register for CNB error, Please refer to the member comments */
#define CSR_RING_CNB_CSR_CNB_MERR_MASK_REG \
    (CSR_RING_CNB_CSR_BASE + 0x3C) /* mask control for errors list in CNB_MERR register */
#define CSR_RING_CNB_CSR_RS_ND_PE_CRDT_REG \
    (CSR_RING_CNB_CSR_BASE + 0x40) /* record the credit cnt for RIGN packet eject port */

#endif // RING_CNB_REG_OFFSET_H
